from django import forms
from django.core.exceptions import ValidationError


class ScraperBitrixForm(forms.Form):
    """ Форма на заполнение параметров для запуска парсера """

    start_of_restart_interval = forms.IntegerField(
        label='От (в секундах)',
        min_value=0,
        max_value=10000,
        widget=forms.NumberInput(attrs={
            'class': 'standard-form-input',
            'placeholder': 'от 0 до 10.000'
        })
    )
    end_of_restart_interval = forms.IntegerField(
        label='До (в секундах)',
        min_value=1,
        max_value=10000,
        widget=forms.NumberInput(attrs={
            'class': 'standard-form-input',
            'placeholder': 'от 1 до 10.000'
        })
    )
    stop_words = forms.CharField(
        required=False,
        label='Стоп слова',
        widget=forms.Textarea(attrs={
            'class': 'standard-form-input',
            'placeholder': 'бесплатно, новые клиенты, сайт'
        })
    )

    def clean(self) -> None:
        cleaned_data = super().clean()
        start_of_restart_interval = cleaned_data.get('start_of_restart_interval')
        end_of_restart_interval = cleaned_data.get('end_of_restart_interval')

        if start_of_restart_interval > end_of_restart_interval:
            message = 'Начальное время не может превышать конечное'
            raise ValidationError(message)